package com.china.school.resource;

import org.springframework.core.io.InputStreamResource;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

public class InputStreamResourceTest {
    public static void main(String[] args) throws FileNotFoundException {
        /**
         InputStreamResource 是给定的 InputStream 的一个 Resource 实现。只有在没有特定的 Resource
         实现的情况下才应该使用它。特别是在可能的情况下，最好选择 ByteArrayResource 或任何基于文件的 Resource 实现。

         与其他 Resource 实现不同，这是一个已经打开的资源的描述符。因此，它从 isOpen() 返回 true。
         如果你需要把资源描述符保存在某个地方，或者需要多次读取一个流，请不要使用它

         1 优先使用其他Resource
         2 其次 ByteArrayResource
         3 最后 InputStreamResource
         项目路径类加载路径的区别？

         */

        //相对地址是项目路径
        File file = new File(".");
        System.out.println(file.getAbsolutePath());

        InputStreamResource inputStreamResource = new InputStreamResource(
                new FileInputStream("./InputStreamResourceTest.class"));

        System.out.println(inputStreamResource.isOpen());

    }
}
